home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
AGSDOS0!.ZIP
/
ADOS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-10-01
|
4KB
|
272 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
;------------------------------------------------------------------------------
FAppend 1, PPEPath() + "A-DOS.LOG", 2, 0
FPutLn 1, "------------------------------------------------------------------------------"
FPutLn 1, String(Date()), " ", String(Time()), " ", U_Name(), " entered in A-DOS :))"
FPutLn 1
FPutLn 1, "Command used :"
FPutLn 1
StartDisp 1
STRING001 = "PCB"
Color 7
Cls
Delay 20
DispFile PPEPath() + "shell.txt", 0
Delay 25
DispFile PPEPath() + "limiter.txt", 0
Delay 10
DispFile PPEPath() + "access.txt", 0
Delay 18
DispFile PPEPath() + "allowed.tre", 0
Gosub LABEL010
:LABEL001
STRING002 = Inkey()
:LABEL002
If (STRING002 == "") Goto LABEL001
If ((Asc(STRING002) >= 32) && (Len(STRING002) == 1)) Then
Print STRING002
STRING004 = STRING004 + STRING002
Endif
If ((((STRING002 == Chr(8)) && (Len(STRING002) == 1)) || (STRING002 == "LEFT")) && (Len(STRING004) > 0)) Then
Print Chr(8) + " " + Chr(8)
STRING004 = Left(STRING004, Len(STRING004) - 1)
Endif
If ((STRING002 == "RIGHT") && (Len(STRING003) > Len(STRING004))) Then
STRING002 = Mid(STRING003, Len(STRING004) + 1, 1)
Goto LABEL002
Endif
If ((STRING002 == Chr(13)) && (Len(STRING002) == 1)) Then
Goto LABEL003
Endif
Goto LABEL001
:LABEL003
STRING004 = Trim(STRING004, " ")
STRING003 = STRING004
STRING004 = Upper(STRING004)
INTEGER002 = 0
For INTEGER001 = 1 To Len(STRING004)
If (Mid(STRING004, INTEGER001, 1) == "\") Inc INTEGER002
Next
If (INTEGER002 > 1) Then
DispFile PPEPath() + "nocomplx.txt", 0
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
If (Left(STRING004, 3) == "DIR") Then
FPutLn 1, STRING004
If (STRING001 <> "") Then
DispFile PPEPath() + STRING001 + ".DIR", 0
Goto LABEL004
Endif
DispFile PPEPath() + "ROOT.DIR", 0
:LABEL004
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
If (Left(STRING004, 3) == "REM") Then
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
If (STRING004 == "CD\") Then
STRING001 = ""
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
If (Left(STRING004, 3) == "CD\") Then
DispFile PPEPath() + "nocomplx.txt", 0
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
If (Left(STRING004, 4) == "CD..") Then
FPutLn 1, STRING004
If (STRING001 == "") Then
DispFile PPEPath() + "invaldir.txt", 0
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Goto LABEL005
Endif
STRING001 = ""
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
:LABEL005
If (STRING004 == "CLS") Then
FPutLn 1, STRING004
STRING004 = ""
Cls
Gosub LABEL010
Goto LABEL001
Endif
If (Left(STRING004, 3) == "CD ") Then
FPutLn 1, STRING004
STRING005 = Upper(Mid(STRING004, 4, Len(STRING004) - 3))
If (((STRING005 == "..") && (STRING001 <> "")) || (STRING005 == "\")) Then
STRING001 = ""
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
If ((STRING005 <> "PCB") && (STRING005 <> "DOS")) Then
DispFile PPEPath() + "a_denied.txt", 0
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Goto LABEL006
Endif
STRING001 = STRING005
STRING004 = ""
Gosub LABEL010
Goto LABEL001
Endif
:LABEL006
If ((((((Left(STRING004, 7) == "FORMAT ") || (Left(STRING004, 4) == "DEL ")) || (Left(STRING004, 8) == "DELTREE ")) || (Left(STRING004, 6) == "ERASE ")) || (Left(STRING004, 5) == "FDISK")) || (Left(STRING004, 3) == "RD ")) Then
FPutLn 1, STRING004, " !!!!!"
DispFile PPEPath() + "BUSTED", 1
FPutLn 1, "User was thrown out of this PPE and should be Locked out !!"
Log "Unallowed command typed in A-DOS !!!", 0
Message 0, "Sysop", U_Name(), "Lamer", "R", 0, 0, 0, PPEPath() + "busted.msg"
Wait
ElseIf (STRING004 == "EXIT") Then
PrintLn
Delay 20
FPutLn 1, "Exit by normal way..."
Else
If (STRING004 == "") Goto LABEL009
FOpen 2, PPEPath() + STRING001 + ".CMD", 0, 0
:LABEL007
If (Ferr(2)) Goto LABEL008
FGet 2, STRING005
If (Upper(STRING005) == STRING004) Then
FPutLn 1, STRING004
DispFile PPEPath() + "a_denied.txt", 0
FClose 2
Else
Goto LABEL007
:LABEL008
FPutLn 1, STRING004
DispFile PPEPath() + "invalcom.txt", 0
FClose 2
Goto LABEL009
Endif
:LABEL009
Gosub LABEL010
STRING004 = ""
Goto LABEL001
Endif
FClose 1
End
:LABEL010
PrintLn
PrintLn "Type EXIT to return to PCBoard"
PrintLn
Print "C:\", STRING001, ">"
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 Cls
; 1 Wait
; 1 Color
; 47 Goto
; 28 Let
; 3 Print
; 4 PrintLn
; 24 If
; 13 DispFile
; 1 FOpen
; 1 FAppend
; 3 FClose
; 1 FGet
; 14 FPutLn
; 1 StartDisp
; 1 Log
; 13 Gosub
; 1 Return
; 5 Delay
; 1 Inc
; 1 Message
;
;
; ■ Functions used :
;
; 23 +
; 2 -
; 28 ==
; 4 <>
; 1 <
; 1 <=
; 3 >
; 3 >=
; 21 !
; 9 &&
; 8 ||
; 11 Len(
; 3 Upper()
; 3 Mid()
; 12 Left()
; 1 Ferr()
; 4 Chr()
; 1 Asc()
; 1 Trim()
; 1 Date()
; 1 Time()
; 2 U_Name()
; 1 Inkey()
; 2 String()
; 16 PPEPath()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 19 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------